package com.beiben.statistics.mapper;


import com.beiben.quality.domain.QaContractSum;
import com.beiben.quality.domain.QaQualityInfo;
import com.beiben.statistics.vo.ErrorRateAnalysisVo;
import com.beiben.statistics.vo.MonthDate;

import java.util.List;

public interface ErrorRateAnalysisMapper {

/*************************************生产售后阶段问题分析开始************************************************/

    /**
     * 查询总资料差错率和平均值
     */
    public List<ErrorRateAnalysisVo> selectAllErrorRate(ErrorRateAnalysisVo errorRateAnalysisVo);

    public Double selectAverage(ErrorRateAnalysisVo errorRateAnalysisVo);

    /**
     * 按车型查询差错率和平均值
     */
    public List<MonthDate> selectRateByType(ErrorRateAnalysisVo errorRateAnalysisVo);

    public List<ErrorRateAnalysisVo> selectAverageByType(ErrorRateAnalysisVo errorRateAnalysisVo);

    /**
     * 按系统查询差错率和平均值
     */
    public List<ErrorRateAnalysisVo> selectRateBySystem(ErrorRateAnalysisVo errorRateAnalysisVo);

    public List<ErrorRateAnalysisVo> selectAverageBySystem(ErrorRateAnalysisVo errorRateAnalysisVo);

    /**
     * 按组别查询差错率
     */
    public List<ErrorRateAnalysisVo> selectRateByGroups(ErrorRateAnalysisVo errorRateAnalysisVo);

    public List<QaQualityInfo> selectgroupErrrorrateSumList(ErrorRateAnalysisVo errorRateAnalysisVo);

/*************************************生产售后阶段问题分析结束************************************************/

/*********************************试制阶段问题分析开始*******************************************************/

    /**
     * 试制问题总差错率
     */
    public List<ErrorRateAnalysisVo> selectTrialAllRate(ErrorRateAnalysisVo errorRateAnalysisVo);

    /**
     * 各组别试制问题总体情况
     */
    public List<ErrorRateAnalysisVo> selectAllTrialRateByGroupsBar(ErrorRateAnalysisVo errorRateAnalysisVo);
    public List<ErrorRateAnalysisVo> selectAllTrialRateByGroupsPie(ErrorRateAnalysisVo errorRateAnalysisVo);

    /**
     * 各组别试制问题情况-按车型分
     */
    public List<ErrorRateAnalysisVo> selectAllTrialRateByGroupsTypeBar(ErrorRateAnalysisVo errorRateAnalysisVo);
    public List<ErrorRateAnalysisVo> selectAllTrialRateByGroupsTypePie(ErrorRateAnalysisVo errorRateAnalysisVo);

    /**
     * 各系统试制问题总体情况
     */
    public List<ErrorRateAnalysisVo> selectAllTrialRateBySystem(ErrorRateAnalysisVo errorRateAnalysisVo);

    /***
     * 各系统试制问题总体情况-按系统分
     */
    public List<ErrorRateAnalysisVo> selectAllTrialRateBySystemType(ErrorRateAnalysisVo errorRateAnalysisVo);

    /***
     * 试制问题数量-按问题种类分
     */
    public List<ErrorRateAnalysisVo> selectAllTrialRateByQuestion(ErrorRateAnalysisVo errorRateAnalysisVo);

    public List<QaQualityInfo> selectDetailListByGroup(ErrorRateAnalysisVo errorRateAnalysisVo);


/*********************************试制阶段问题分析结束*******************************************************/
}
